﻿Namespace EIB.Interfaces
    Public Interface IEIBListManager(Of T)
        Sub AddValue(address As T)
        Sub AddRange(addresses As IEnumerable(Of T))
        Sub Clear()
        Function Contains(address As T) As Boolean
        Function GetValues() As List(Of T)
        Sub Remove(address As T)
    End Interface


    Public Interface IEIBManager(Of T1, T2)
        Sub Clear()
        Function Contains(address As T1) As Boolean
        Function GetValue(address As T1) As T2
        Sub SetValue(address As T1, value As T2)
        Sub Remove(address As T1)
    End Interface
End Namespace